package belf.migrate.engine.admin.taskconf;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 定义一个可执行任务。任务包含对应的配置信息{@link belf.migrate.api.taskconf}、任务类型、工作模式、遇错执行策略、
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Task {
    private long taskId;
    private String name;         //任务名称
    private String desc;         //任务的描述
    private String owner;        //任务所属用户。满足多租户管理需求
    private Long createDate;     //任务创建时间

    private TaskConf taskConf;   //执行任务需要的配置信息，作为外键引用表migration_task_conf

    private String taskType;   //任务类型

    private String jobMode;     //任务的工作模式

    private String taskPolicy;
    /**
     * 本次任务由哪些子任务组成？比如"CREATE_TYPE,CREATE_TABLE,CREATE_VIEW,CREATE_TRIGGER".<br/>
     * 注意：本参数仅当{@link #taskType}为{@link TaskType#SYNC_STRUCTURE}时才起作用
     */
    private String taskTypeScope; //
}

